Prijem dat v Delphi z COM1
Otázka od: Peter Ondras
21. 5. 2004 19:30
Mam mincovnik s vystupom na maly COM (mam ho zapojeny do COM1).
Mincovnik dokaze brat 4 druhy minci. Za kazdu mincu ma vyslat do PC
informaciu po jednom kanali. Neviem presne co znamena "kanal", asi to
bude jeden kablik z moznych 9. Ked som pouzil free komponenty z
torry.net (napr. TCommPortDriver), tak udalost OnReceiveData sa spustila
len pri jednom druhu minci a aj to nacitala (po prevode na string) "#0".
Ako mozem bez komponenty pristupovat ku COM portu a ako mozem potom
nacitat kanal 1 az 4 - napr. pomocou Assembleru ako tu dnes niekto pisal
priklad pre Pascal, avsak na to by som potreboval priklad.
Za pomoc dakujem.
Peter Ondras
Odpovedá: Petr Fejfar
23. 5. 2004 8:43
Peter Ondras wrote:
> Mam mincovnik s vystupom na maly COM (mam ho zapojeny do COM1).
> Mincovnik dokaze brat 4 druhy minci. Za kazdu mincu ma vyslat do PC
> informaciu po jednom kanali. Neviem presne co znamena "kanal", asi to
> bude jeden kablik z moznych 9.
Kdyz nemas dokumentaci, tak by to chtelo osciloskop nebo alespon logickou
sondu
schopnou reagovat na impuls.
Tech moznosti moc nebude:
a) Na D-9 konektoru mas v podstate 4 vstupni signaly: RxD, DSR, CTS a RI,
takze muze byt pouzita prosta linearni adresace - to se da ocekavat
u "dumb" zarizeni, ktere pouze spina signal odebrany z portu na 1/n
vstupu
b) Nektery signal muze mit funkci strobe (napr. spadova hrana na RxD)
a zbyle vyjadruji nejakou kombinaci.
> Ked som pouzil free komponenty z torry.net (napr. TCommPortDriver),
> tak udalost OnReceiveData sa spustila len pri jednom druhu minci
> a aj to nacitala (po prevode na string) "#0".
Chovani je v souladu s hypotezou vyse.
> Ako mozem bez komponenty pristupovat ku COM portu a ako
> mozem potom nacitat kanal 1 az 4 - napr. pomocou Assembleru ako tu
> dnes niekto pisal priklad pre Pascal, avsak na to by som potreboval
> priklad.
Podivej se do SDK na popis funkci SetCommMask a WaitCommEvent -
najdes tam odkazy na dalsi souvisejici funkce a priklady v C jak to
pouzivat.
Az ti to pobezi, tak bys mel videt, co se ti na tom portu meni.
A pokud to nechces programovat, tam myslim ze PV v jeho Asyncfree
komponentach
comm events obsluhuje a propaguje necim jako OnPortEvent.
HTH, pf